package com.wgy.day36常见的函数式接口.Predicate接口;

import java.util.function.Predicate;

/**
 * Created by pc on 2020/12/10 22:17
 * Description: LearningJava
 */
/*
java.util.function.Predicate<T>:对某种类型的数据进行判断,从而得到一个布尔值结果
Predicate接口中包含的抽象方法:
      boolean test(T t):用来对指定数据类型数据进行判断的方法
        结果: true:符合条件,返回true
             false:不符合条件,返回false
*/
public class Demo01Predicate {
    /*定义一个方法,参数传递String类型的字符串
    传递一个Predicate接口,泛型使用String
    使用Predicate接口中的方法test对字符串进行判断,并把判断结果返回
    */
    public static boolean checkString(String s, Predicate<String> pre){
        return pre.test(s);
    }

    public static void main(String[] args) {
        //定义一个字符串
        String s="ABCDEF";
        //调用checkString方法,对字符串进行判断
        //方法的参数Predicate<String>是一个函数式接口,可以传递Lambda表达式
        boolean b = checkString(s, (String str) -> {
           return str.length()>5;
        });
        System.out.println(b);


    }
}
